cmake_minimum_required(VERSION 2.8.3)
project(rslidar_to_velodyne)

# 强制开启 C++11 编译（适配现代 PCL/Eigen 语法）
add_compile_options(-std=c++11)

# 查找 Catkin 基础依赖（roscpp/rospy/std_msgs）
find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  velodyne_pointcloud
)

# 查找 PCL 库（需系统预先安装 libpcl-dev）
find_package(PCL REQUIRED)

# 查找 Eigen 库（需系统预先安装 libeigen3-dev）
find_package(Eigen3 REQUIRED)

# 声明 Catkin 包的属性（按需解注释配置）
catkin_package(
  # INCLUDE_DIRS include        # 若有自定义头文件，需在 include/ 目录下放置
  # LIBRARIES rslidar_to_velodyne
  # CATKIN_DEPENDS roscpp rospy std_msgs
  # DEPENDS system_lib
)

# 配置头文件搜索路径（Catkin/PCL/Eigen 的头文件）
include_directories(
  include
  ${catkin_INCLUDE_DIRS}
  ${PCL_INCLUDE_DIRS}
  ${Eigen3_INCLUDE_DIRS}  # 若 Eigen 变量为 EIGEN3_INCLUDE_DIRS，需对应修改
)

# 生成可执行文件：将 src/convert.cpp 编译为 rslidar_to_velodyne 节点
add_executable(rslidar_to_velodyne src/convert.cpp)

# 链接库（Catkin 库 + PCL 库）
target_link_libraries(rslidar_to_velodyne
  ${catkin_LIBRARIES}
  ${PCL_LIBRARIES}
)
